目標 🎯
- 模型: 一個簡單的社交網絡。
- 使用者以圖中的 節點 來表示。
- 朋友關係則是 無向邊。
- 任務: 處理一連串指令,以建立並查詢網絡。
表示方式 💾
我們將使用 鄰接表 來儲存圖形。
它是一個列表的陣列。索引為 `i` 的列表儲存了使用者 `i` 所有的朋友。
// 朋友關係:(0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]
操作 ⚙️
你將實作四個指令:
add u v新增一段朋友關係。
degree u計算使用者 u 的朋友數量。
isfriend u v檢查 u 和 v 是否為朋友。
count_greater x計算擁有超過 x 個朋友的使用者人數。